from flask import Flask, render_template
from datetime import datetime
app = Flask(__name__)

# 自定义时间格式的过滤器   年-月-日 时:分 %Y-%m-%d %H:%M
def datatime_format(value, format='%Y年-%m月-%d日 %H:%M'):
    return value.strftime(format)

app.add_template_filter(datatime_format, 'dformat')

# user类
# ... existing code ...

# user类
class User:
    """
    用户类，用于表示系统中的用户信息

    Attributes:
        username (str): 用户名
        email (str): 用户邮箱地址
    """

    def __init__(self, username, email):
        """
        初始化User实例

        Args:
            username (str): 用户名
            email (str): 用户邮箱地址
        """
        self.username = username
        self.email = email


# ... existing code ...


@app.route('/')
def hello_world():
    """
    处理网站根路径的请求

    Returns:
        返回渲染后的index.html模板
    """
    user = User("admin123 ", "admin@example.com")
    # 字典的访问语法
    person = {
        'username': '张三',
        'email': 'zs@example.com'
    }
    return render_template('index.html', user=user, person=person)

@app.route('/detail/<int:blog_id>')
def detail(blog_id):
    """
    处理博客详情页的请求

    Args:
        blog_id (int): 博客文章的唯一标识符

    Returns:
        返回渲染后的detail.html模板，并传递blog_id和username参数
    """
    return render_template('detail.html', blog_id=blog_id, username='admin')

@app.route('/filter')
def filter_demo():
    user = User("admin123 ", "admin@example.com")
    mytime = datetime.now()
    return render_template('filter.html', user=user, mytime=mytime)

@app.route('/control')
def control_statement():
    age = 19
    return render_template('control.html', age=age)


if __name__ == '__main__':
    # 开启调试模式（自动重载 + 错误提示）
    app.run(debug=True, host='127.0.0.1', port=5000)

